"""
点击链接 打开了新窗口 要在新窗口里定位元素， 一定要切换窗口。
driver.window_handles ： 拿到所有窗口句柄 放在列表里。
  - 句柄唯一的 但是是变化  不能直接用句柄本身去做窗口切换
  - 既然是放在列表里，可以用列表的索引去切换 ， 最新窗口一定是最后一个：[-1]


from selenium import webdriver
from selenium.webdriver.common.by import By
from time import sleep

driver = webdriver.Chrome()
driver.maximize_window()
driver.get('https://www.baidu.com')

# 打开新的窗口之前 先获取所有的窗口句柄
wins = driver.window_handles
print(wins)
# 找到贴吧的链接
driver.find_element(By.LINK_TEXT,"贴吧").click()

# # 打开新的窗口之后 获取所有句柄
wins = driver.window_handles
print(wins)
#
# # 切换到最新的窗口
driver.switch_to.window(wins[-1])
#
# # 在贴吧的页面里输入文本 搜索 test == 切换成功之后，就看可以在新的页面里进行元素操作了
driver.find_element(By.NAME,"kw1").send_keys("test")

特殊写法
handle = driver.window_handles
driver.switch_to.window(handle[-1])
# 练习

"""
from selenium import webdriver
from selenium.webdriver.common.by import By
import time

driver = webdriver.Chrome()
driver.get("http://testingpai.com/")
driver.maximize_window()
print(driver.window_handles)

# driver.implicitly_wait(2)
time.sleep(2)
driver.find_element(By.XPATH, "//nav[@class='nav-tabs']/a").click()
time.sleep(2)
print(driver.window_handles)

handle = driver.window_handles
driver.switch_to.window(handle[-1])  #:切记写法

driver.find_element(By.XPATH, "//div[contains(@class,'quick-search quick-search--unlogin')]/input").send_keys("test")
time.sleep(2)
driver.find_element(By.XPATH, "//div[contains(@class,'quick-search quick-search--unlogin')]/input").clear()
time.sleep(5)